home *** CD-ROM | disk | FTP | other *** search
- PGM PARM(&FILLIB &OBJLIB)
- DCL VAR(&FILLIB) TYPE(*CHAR) LEN(20)
- DCL VAR(&FILE) TYPE(*CHAR) LEN(10)
- DCL VAR(&LIB) TYPE(*CHAR) LEN(10)
- DCL VAR(&OBJLIB) TYPE(*CHAR) LEN(10)
- DCL VAR(&MSG) TYPE(*CHAR) LEN(132)
- DCL VAR(&TYPE) TYPE(*CHAR) LEN(5)
- DCLF FILE(DSPFDH.QTEMP)
- DLTF FILE(DSPFDH.QTEMP)
- MONMSG MSGID(CPF0000)
- CHGVAR VAR(&FILE) VALUE(%SST(&FILLIB 1 10))
- CHGVAR VAR(&LIB) VALUE(%SST(&FILLIB 11 10))
- /**/
- CHGVAR VAR(&MSG) VALUE(&FILE *BCAT '.' *CAT &LIB +
- *BCAT 'being checked for object existence')
- PRINT PRTDTA(&MSG)
- CHGVAR VAR(&MSG) VALUE(&OBJLIB *BCAT +
- 'IS THE OBJECT SEARCH LIBRARY')
- PRINT PRTDTA(&MSG)
- /**/
- IF COND(&OBJLIB *NE *LIBL) THEN(DO)
- CHKOBJ OBJ(&OBJLIB.QSYS) OBJTYPE(*LIB)
- MONMSG MSGID(CPF9810 CPF9820 CPF9830) EXEC(DO)
- CHGVAR VAR(&MSG) VALUE(&OBJLIB *BCAT 'not found or +
- unable to allocate or you are not +
- authorized to obj search lib')
- PRINT PRTDTA(&MSG)
- GOTO CMDLBL(PGMEND)
- ENDDO
- ENDDO
- /**/
- IF COND(&LIB *NE *LIBL) THEN(DO)
- CHKOBJ OBJ(&LIB.QSYS) OBJTYPE(*LIB)
- MONMSG MSGID(CPF9810 CPF9820 CPF9830) EXEC(DO)
- CHGVAR VAR(&MSG) VALUE(&OBJLIB *BCAT 'not found or +
- unable to allocate or you are not +
- authorized to SRC search lib')
- PRINT PRTDTA(&MSG)
- GOTO CMDLBL(PGMEND)
- ENDDO
- ENDDO
- /**/
- CHKOBJ OBJ(&FILE.&LIB) OBJTYPE(*FILE)
- MONMSG MSGID(CPF9801) EXEC(DO)
- CHGVAR VAR(&MSG) VALUE('SOURCE FILE not found')
- PRINT PRTDTA(&MSG)
- GOTO CMDLBL(PGMEND)
- ENDDO
- /**/
- DSPFD FILE(&FILE.&LIB) TYPE(*MBRLIST) OUTPUT(*NONE) +
- OUTFILE(DSPFDH.QTEMP)
- OPNDBF FILE(DSPFDH.QTEMP) OPTION(*INP) SEQONLY(*YES)
- /**/
- READ: RCVF DEV(*FILE) RCDFMT(QWHFDML)
- MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(END))
- /**/
- IF COND((&MLSEU *EQ RPG) *OR (&MLSEU *EQ CBL) +
- *OR (&MLSEU *EQ CLP) *OR (&MLSEU *EQ PLI) +
- *OR (&MLSEU *EQ BAS) *OR (&MLSEU *EQ RPT)) +
- THEN(CHGVAR VAR(&TYPE) VALUE(*PGM))
- ELSE
- IF COND((&MLSEU *EQ QRY) *OR (&MLSEU *EQ DFU)) +
- THEN(CHGVAR VAR(&TYPE) VALUE(*PGM))
- ELSE
- IF COND((&MLSEU *EQ DSP) *OR (&MLSEU *EQ PF) *OR +
- (&MLSEU *EQ DSPF) *OR (&MLSEU *EQ LF) *OR +
- (&MLSEU *EQ PRTF)) THEN(CHGVAR VAR(&TYPE) +
- VALUE(*FILE))
- ELSE
- IF COND((&MLSEU *EQ BSCF) *OR (&MLSEU *EQ BSC) +
- *OR (&MLSEU *EQ MXDF) *OR (&MLSEU *EQ +
- CMNF)) THEN(CHGVAR VAR(&TYPE) VALUE(*FILE))
- ELSE
- IF COND(&MLSEU *EQ CMD) THEN(CHGVAR VAR(&TYPE) +
- VALUE(*CMD))
- ELSE
- IF COND(&MLSEU *EQ TXT) THEN(DO)
- CHGVAR VAR(&MSG) VALUE(&MLNAME *BCAT 'is a text +
- member and cannot be checked')
- PRINT PRTDTA(&MSG)
- GOTO CMDLBL(READ)
- ENDDO
- /**/
- CHKOBJ: CHKOBJ OBJ(&MLNAME.&OBJLIB) OBJTYPE(&TYPE)
- MONMSG MSGID(CPF9801) EXEC(DO)
- CHGVAR VAR(&MSG) VALUE(&MLNAME *BCAT &MLSEU *BCAT +
- 'not found or COMPILED WITHOUT USING SOURCE +
- MBR NAME')
- PRINT PRTDTA(&MSG)
- ENDDO
- /**/
- MONMSG MSGID(CPF9802) EXEC(DO)
- CHGVAR VAR(&MSG) VALUE(&MLNAME *BCAT &MLSEU *BCAT +
- 'not AUTHORIZed to the object')
- PRINT PRTDTA(&MSG)
- ENDDO
- /**/
- IF COND((&MLSEU *EQ DFU) *AND (&TYPE *EQ *PGM)) +
- THEN(DO)
- CHGVAR VAR(&TYPE) VALUE(*FILE)
- GOTO CMDLBL(CHKOBJ)
- ENDDO
- /**/
- GOTO CMDLBL(READ)
- END: CLOF OPNID(DSPFDH)
- /**/
- PGMEND: PRINT PRTDTA('End of job') CLOSE(*YES)
- DLTF FILE(DSPFDH.QTEMP)
- MONMSG MSGID(CPF0000)
- ENDPGM